package org.example.traffic.superadmin;

import org.example.traffic.superadmin.SuperAdmin;
import org.example.traffic.superadmin.SuperAdminRepository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Optional;

@Service
@Transactional
public class SuperAdminService {
    private final SuperAdminRepository superAdminRepository;

    public SuperAdminService(SuperAdminRepository superAdminRepository) {
        this.superAdminRepository = superAdminRepository;
    }


    // 注册方法，保存超级管理员信息到数据库
    public SuperAdmin register(SuperAdmin superAdmin) {
        SuperAdmin existingAdmin = superAdminRepository.findByUsername(superAdmin.getUsername());
        if (existingAdmin!= null) {
            throw new IllegalArgumentException("用户名已存在");
        }
        return superAdminRepository.save(superAdmin);
    }

    // 登录方法，根据用户名和密码验证并返回对应的超级管理员信息（如果存在）
    public Optional<SuperAdmin> login(String username, String password) {
        SuperAdmin superAdmin = superAdminRepository.findByUsername(username);
        if (superAdmin!= null && superAdmin.getPassword().equals(password)) {
            return Optional.of(superAdmin);
        }
        return Optional.empty();
    }

}
